Conventionally, objects in a computer system are logical entities stored in a memory, such as a cache memory, a hard drive, etc. Typically, each object has multiple properties. Nevertheless, the object is handled as a single unit, and is stored as a single unit in one or more contiguous chunks of memory. Because the properties of an object may span across a wide spectrum of information, not every property of the same object may be used as often as the other properties.
For instance, an exemplary conventional object is a data structure representing a bank account. The exemplary object may include the following properties: account number, account holder name(s), type of account (e.g., checking, saving, etc.), transaction history of the account, opening date of the account, etc. In some conventional applications, the opening date of the account is typically used less often than the account number of the account. In fact, according to one prior study, only approximately 20% of the properties of an object are involved in approximately 80% of the references to that object.
However, even though not each property of the object is used as frequently as other properties, one or more continguous chunks of the memory are allocated to store the entire object because all properties of the object are managed as a single unit. This conventional approach is particularly wasteful for storing objects in the cache memory of the computer system because the capacity of the cache memory is generally more limited than other memories in the computer system.